{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:06:08.911674Z",
     "start_time": "2024-03-08T10:06:08.225316Z"
    }
   },
   "outputs": [],
   "source": [
    "import torch\n",
    "import platform\n",
    "platform = platform.system()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)\r\n"
     ]
    }
   ],
   "source": [
    "if platform == 'Linux':\n",
    "    !BASICSR_JIT=True\n",
    "else:\n",
    "    !set BASICSR_JIT=True\n",
    "pretrained_hqp_path = \"../pretrained_models/pretrained_HQPs.pth\"\n",
    "pretrained_new_hqp_path = \"../pretrained_models/pretrained_HQPs_ITB.pth\""
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:06:11.988857Z",
     "start_time": "2024-03-08T10:06:11.875239Z"
    }
   },
   "id": "439974a08ccce328"
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "outputs": [],
   "source": [
    "param_key = 'params'\n",
    "load_hqp = torch.load(pretrained_hqp_path)[param_key]"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:06:13.393566Z",
     "start_time": "2024-03-08T10:06:13.306982Z"
    }
   },
   "id": "eaa712756e3f3eab"
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "multiscale_encoder.in_conv.weight\n",
      "multiscale_encoder.in_conv.bias\n",
      "multiscale_encoder.blocks.0.0.weight\n",
      "multiscale_encoder.blocks.0.0.bias\n",
      "multiscale_encoder.blocks.0.1.conv.0.norm.weight\n",
      "multiscale_encoder.blocks.0.1.conv.0.norm.bias\n",
      "multiscale_encoder.blocks.0.1.conv.2.weight\n",
      "multiscale_encoder.blocks.0.1.conv.2.bias\n",
      "multiscale_encoder.blocks.0.1.conv.3.norm.weight\n",
      "multiscale_encoder.blocks.0.1.conv.3.norm.bias\n",
      "multiscale_encoder.blocks.0.1.conv.5.weight\n",
      "multiscale_encoder.blocks.0.1.conv.5.bias\n",
      "multiscale_encoder.blocks.0.2.conv.0.norm.weight\n",
      "multiscale_encoder.blocks.0.2.conv.0.norm.bias\n",
      "multiscale_encoder.blocks.0.2.conv.2.weight\n",
      "multiscale_encoder.blocks.0.2.conv.2.bias\n",
      "multiscale_encoder.blocks.0.2.conv.3.norm.weight\n",
      "multiscale_encoder.blocks.0.2.conv.3.norm.bias\n",
      "multiscale_encoder.blocks.0.2.conv.5.weight\n",
      "multiscale_encoder.blocks.0.2.conv.5.bias\n",
      "multiscale_encoder.blocks.1.0.weight\n",
      "multiscale_encoder.blocks.1.0.bias\n",
      "multiscale_encoder.blocks.1.1.conv.0.norm.weight\n",
      "multiscale_encoder.blocks.1.1.conv.0.norm.bias\n",
      "multiscale_encoder.blocks.1.1.conv.2.weight\n",
      "multiscale_encoder.blocks.1.1.conv.2.bias\n",
      "multiscale_encoder.blocks.1.1.conv.3.norm.weight\n",
      "multiscale_encoder.blocks.1.1.conv.3.norm.bias\n",
      "multiscale_encoder.blocks.1.1.conv.5.weight\n",
      "multiscale_encoder.blocks.1.1.conv.5.bias\n",
      "multiscale_encoder.blocks.1.2.conv.0.norm.weight\n",
      "multiscale_encoder.blocks.1.2.conv.0.norm.bias\n",
      "multiscale_encoder.blocks.1.2.conv.2.weight\n",
      "multiscale_encoder.blocks.1.2.conv.2.bias\n",
      "multiscale_encoder.blocks.1.2.conv.3.norm.weight\n",
      "multiscale_encoder.blocks.1.2.conv.3.norm.bias\n",
      "multiscale_encoder.blocks.1.2.conv.5.weight\n",
      "multiscale_encoder.blocks.1.2.conv.5.bias\n",
      "decoder_group.0.block.1.weight\n",
      "decoder_group.0.block.1.bias\n",
      "decoder_group.0.block.2.conv.0.norm.weight\n",
      "decoder_group.0.block.2.conv.0.norm.bias\n",
      "decoder_group.0.block.2.conv.2.weight\n",
      "decoder_group.0.block.2.conv.2.bias\n",
      "decoder_group.0.block.2.conv.3.norm.weight\n",
      "decoder_group.0.block.2.conv.3.norm.bias\n",
      "decoder_group.0.block.2.conv.5.weight\n",
      "decoder_group.0.block.2.conv.5.bias\n",
      "decoder_group.0.block.3.conv.0.norm.weight\n",
      "decoder_group.0.block.3.conv.0.norm.bias\n",
      "decoder_group.0.block.3.conv.2.weight\n",
      "decoder_group.0.block.3.conv.2.bias\n",
      "decoder_group.0.block.3.conv.3.norm.weight\n",
      "decoder_group.0.block.3.conv.3.norm.bias\n",
      "decoder_group.0.block.3.conv.5.weight\n",
      "decoder_group.0.block.3.conv.5.bias\n",
      "decoder_group.1.block.1.weight\n",
      "decoder_group.1.block.1.bias\n",
      "decoder_group.1.block.2.conv.0.norm.weight\n",
      "decoder_group.1.block.2.conv.0.norm.bias\n",
      "decoder_group.1.block.2.conv.2.weight\n",
      "decoder_group.1.block.2.conv.2.bias\n",
      "decoder_group.1.block.2.conv.3.norm.weight\n",
      "decoder_group.1.block.2.conv.3.norm.bias\n",
      "decoder_group.1.block.2.conv.5.weight\n",
      "decoder_group.1.block.2.conv.5.bias\n",
      "decoder_group.1.block.3.conv.0.norm.weight\n",
      "decoder_group.1.block.3.conv.0.norm.bias\n",
      "decoder_group.1.block.3.conv.2.weight\n",
      "decoder_group.1.block.3.conv.2.bias\n",
      "decoder_group.1.block.3.conv.3.norm.weight\n",
      "decoder_group.1.block.3.conv.3.norm.bias\n",
      "decoder_group.1.block.3.conv.5.weight\n",
      "decoder_group.1.block.3.conv.5.bias\n",
      "out_conv.weight\n",
      "out_conv.bias\n",
      "quantize_group.0.embedding.weight\n",
      "before_quant_group.0.weight\n",
      "before_quant_group.0.bias\n",
      "after_quant_group.0.conv.weight\n",
      "after_quant_group.0.conv.bias\n"
     ]
    }
   ],
   "source": [
    "for key, param in load_hqp.items():\n",
    "    print(key)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:06:14.018389Z",
     "start_time": "2024-03-08T10:06:14.015848Z"
    }
   },
   "id": "49fd306d0f0af292"
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cannot import deform_conv_ext. Error: . You may need to: \n",
      " 1. compile with BASICSR_EXT=True. or\n",
      " 2. set BASICSR_JIT=True during running\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/earthyzinc/miniconda3/lib/python3.11/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
      "  from .autonotebook import tqdm as notebook_tqdm\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cannot import deform_conv_ext. Error: . You may need to: \n",
      " 1. compile with BASICSR_EXT=True. or\n",
      " 2. set BASICSR_JIT=True during running\n",
      "{'LQ_stage': True}\n",
      "{}\n"
     ]
    }
   ],
   "source": [
    "from basicsr.archs.ridcp_new_arch import RIDCPNew\n",
    "from basicsr.archs.itb_arch import FusionRefine\n",
    "\n",
    "itb_net = FusionRefine(opt={\"LQ_stage\": True})\n",
    "hqp_net = RIDCPNew(LQ_stage=False, additional_encoder=None, additional_enhancer=False)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:06:18.332834Z",
     "start_time": "2024-03-08T10:06:16.538783Z"
    }
   },
   "id": "56e506ed4d05eed6"
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "vq_encoder.in_conv.weight\n",
      "vq_encoder.in_conv.bias\n",
      "vq_encoder.blocks.0.0.weight\n",
      "vq_encoder.blocks.0.0.bias\n",
      "vq_encoder.blocks.0.1.conv.0.norm.weight\n",
      "vq_encoder.blocks.0.1.conv.0.norm.bias\n",
      "vq_encoder.blocks.0.1.conv.2.weight\n",
      "vq_encoder.blocks.0.1.conv.2.bias\n",
      "vq_encoder.blocks.0.1.conv.3.norm.weight\n",
      "vq_encoder.blocks.0.1.conv.3.norm.bias\n",
      "vq_encoder.blocks.0.1.conv.5.weight\n",
      "vq_encoder.blocks.0.1.conv.5.bias\n",
      "vq_encoder.blocks.0.2.conv.0.norm.weight\n",
      "vq_encoder.blocks.0.2.conv.0.norm.bias\n",
      "vq_encoder.blocks.0.2.conv.2.weight\n",
      "vq_encoder.blocks.0.2.conv.2.bias\n",
      "vq_encoder.blocks.0.2.conv.3.norm.weight\n",
      "vq_encoder.blocks.0.2.conv.3.norm.bias\n",
      "vq_encoder.blocks.0.2.conv.5.weight\n",
      "vq_encoder.blocks.0.2.conv.5.bias\n",
      "vq_encoder.blocks.1.0.weight\n",
      "vq_encoder.blocks.1.0.bias\n",
      "vq_encoder.blocks.1.1.conv.0.norm.weight\n",
      "vq_encoder.blocks.1.1.conv.0.norm.bias\n",
      "vq_encoder.blocks.1.1.conv.2.weight\n",
      "vq_encoder.blocks.1.1.conv.2.bias\n",
      "vq_encoder.blocks.1.1.conv.3.norm.weight\n",
      "vq_encoder.blocks.1.1.conv.3.norm.bias\n",
      "vq_encoder.blocks.1.1.conv.5.weight\n",
      "vq_encoder.blocks.1.1.conv.5.bias\n",
      "vq_encoder.blocks.1.2.conv.0.norm.weight\n",
      "vq_encoder.blocks.1.2.conv.0.norm.bias\n",
      "vq_encoder.blocks.1.2.conv.2.weight\n",
      "vq_encoder.blocks.1.2.conv.2.bias\n",
      "vq_encoder.blocks.1.2.conv.3.norm.weight\n",
      "vq_encoder.blocks.1.2.conv.3.norm.bias\n",
      "vq_encoder.blocks.1.2.conv.5.weight\n",
      "vq_encoder.blocks.1.2.conv.5.bias\n",
      "vq_decoder_group.0.block.1.weight\n",
      "vq_decoder_group.0.block.1.bias\n",
      "vq_decoder_group.0.block.2.conv.0.norm.weight\n",
      "vq_decoder_group.0.block.2.conv.0.norm.bias\n",
      "vq_decoder_group.0.block.2.conv.2.weight\n",
      "vq_decoder_group.0.block.2.conv.2.bias\n",
      "vq_decoder_group.0.block.2.conv.3.norm.weight\n",
      "vq_decoder_group.0.block.2.conv.3.norm.bias\n",
      "vq_decoder_group.0.block.2.conv.5.weight\n",
      "vq_decoder_group.0.block.2.conv.5.bias\n",
      "vq_decoder_group.0.block.3.conv.0.norm.weight\n",
      "vq_decoder_group.0.block.3.conv.0.norm.bias\n",
      "vq_decoder_group.0.block.3.conv.2.weight\n",
      "vq_decoder_group.0.block.3.conv.2.bias\n",
      "vq_decoder_group.0.block.3.conv.3.norm.weight\n",
      "vq_decoder_group.0.block.3.conv.3.norm.bias\n",
      "vq_decoder_group.0.block.3.conv.5.weight\n",
      "vq_decoder_group.0.block.3.conv.5.bias\n",
      "vq_decoder_group.1.block.1.weight\n",
      "vq_decoder_group.1.block.1.bias\n",
      "vq_decoder_group.1.block.2.conv.0.norm.weight\n",
      "vq_decoder_group.1.block.2.conv.0.norm.bias\n",
      "vq_decoder_group.1.block.2.conv.2.weight\n",
      "vq_decoder_group.1.block.2.conv.2.bias\n",
      "vq_decoder_group.1.block.2.conv.3.norm.weight\n",
      "vq_decoder_group.1.block.2.conv.3.norm.bias\n",
      "vq_decoder_group.1.block.2.conv.5.weight\n",
      "vq_decoder_group.1.block.2.conv.5.bias\n",
      "vq_decoder_group.1.block.3.conv.0.norm.weight\n",
      "vq_decoder_group.1.block.3.conv.0.norm.bias\n",
      "vq_decoder_group.1.block.3.conv.2.weight\n",
      "vq_decoder_group.1.block.3.conv.2.bias\n",
      "vq_decoder_group.1.block.3.conv.3.norm.weight\n",
      "vq_decoder_group.1.block.3.conv.3.norm.bias\n",
      "vq_decoder_group.1.block.3.conv.5.weight\n",
      "vq_decoder_group.1.block.3.conv.5.bias\n",
      "out_conv.weight\n",
      "out_conv.bias\n",
      "quantizer.embedding.weight\n",
      "before_quant.weight\n",
      "before_quant.bias\n",
      "after_quant.conv.weight\n",
      "after_quant.conv.bias\n"
     ]
    }
   ],
   "source": [
    "for key, param in hqp_net.state_dict().items():\n",
    "    print(key)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:06:20.695065Z",
     "start_time": "2024-03-08T10:06:20.691728Z"
    }
   },
   "id": "d296e032ab9061a3"
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "feature_extract.vq_encoder.in_conv.weight\n",
      "feature_extract.vq_encoder.in_conv.bias\n",
      "feature_extract.vq_encoder.blocks.0.0.weight\n",
      "feature_extract.vq_encoder.blocks.0.0.bias\n",
      "feature_extract.vq_encoder.blocks.0.1.conv.0.norm.weight\n",
      "feature_extract.vq_encoder.blocks.0.1.conv.0.norm.bias\n",
      "feature_extract.vq_encoder.blocks.0.1.conv.2.weight\n",
      "feature_extract.vq_encoder.blocks.0.1.conv.2.bias\n",
      "feature_extract.vq_encoder.blocks.0.1.conv.3.norm.weight\n",
      "feature_extract.vq_encoder.blocks.0.1.conv.3.norm.bias\n",
      "feature_extract.vq_encoder.blocks.0.1.conv.5.weight\n",
      "feature_extract.vq_encoder.blocks.0.1.conv.5.bias\n",
      "feature_extract.vq_encoder.blocks.0.2.conv.0.norm.weight\n",
      "feature_extract.vq_encoder.blocks.0.2.conv.0.norm.bias\n",
      "feature_extract.vq_encoder.blocks.0.2.conv.2.weight\n",
      "feature_extract.vq_encoder.blocks.0.2.conv.2.bias\n",
      "feature_extract.vq_encoder.blocks.0.2.conv.3.norm.weight\n",
      "feature_extract.vq_encoder.blocks.0.2.conv.3.norm.bias\n",
      "feature_extract.vq_encoder.blocks.0.2.conv.5.weight\n",
      "feature_extract.vq_encoder.blocks.0.2.conv.5.bias\n",
      "feature_extract.vq_encoder.blocks.1.0.weight\n",
      "feature_extract.vq_encoder.blocks.1.0.bias\n",
      "feature_extract.vq_encoder.blocks.1.1.conv.0.norm.weight\n",
      "feature_extract.vq_encoder.blocks.1.1.conv.0.norm.bias\n",
      "feature_extract.vq_encoder.blocks.1.1.conv.2.weight\n",
      "feature_extract.vq_encoder.blocks.1.1.conv.2.bias\n",
      "feature_extract.vq_encoder.blocks.1.1.conv.3.norm.weight\n",
      "feature_extract.vq_encoder.blocks.1.1.conv.3.norm.bias\n",
      "feature_extract.vq_encoder.blocks.1.1.conv.5.weight\n",
      "feature_extract.vq_encoder.blocks.1.1.conv.5.bias\n",
      "feature_extract.vq_encoder.blocks.1.2.conv.0.norm.weight\n",
      "feature_extract.vq_encoder.blocks.1.2.conv.0.norm.bias\n",
      "feature_extract.vq_encoder.blocks.1.2.conv.2.weight\n",
      "feature_extract.vq_encoder.blocks.1.2.conv.2.bias\n",
      "feature_extract.vq_encoder.blocks.1.2.conv.3.norm.weight\n",
      "feature_extract.vq_encoder.blocks.1.2.conv.3.norm.bias\n",
      "feature_extract.vq_encoder.blocks.1.2.conv.5.weight\n",
      "feature_extract.vq_encoder.blocks.1.2.conv.5.bias\n",
      "feature_extract.ridcp_encoder.patch_embed.proj.0.weight\n",
      "feature_extract.ridcp_encoder.patch_embed.proj.0.bias\n",
      "feature_extract.ridcp_encoder.patch_embed.proj.1.weight\n",
      "feature_extract.ridcp_encoder.patch_embed.proj.1.bias\n",
      "feature_extract.ridcp_encoder.patch_embed.norm.weight\n",
      "feature_extract.ridcp_encoder.patch_embed.norm.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.gamma1\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.gamma2\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.0.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.gamma1\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.gamma2\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.1.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.gamma1\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.gamma2\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.0.blocks.2.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.gamma1\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.gamma2\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.0.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.gamma1\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.gamma2\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.1.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.gamma1\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.gamma2\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.2.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.gamma1\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.gamma2\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.1.blocks.3.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.0.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.1.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.2.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.3.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.4.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.5.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.6.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.7.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.8.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.9.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.10.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.11.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.12.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.13.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.14.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.15.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.16.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.gamma1\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.gamma2\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.2.blocks.17.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.gamma1\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.gamma2\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.0.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.gamma1\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.gamma2\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.1.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.gamma1\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.gamma2\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.2.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.gamma1\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.gamma2\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.3.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.gamma1\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.gamma2\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.norm1.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.norm1.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.attn.rpb\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.attn.qkv.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.attn.qkv.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.attn.proj.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.attn.proj.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.norm2.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.norm2.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.mlp.fc1.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.mlp.fc1.bias\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.mlp.fc2.weight\n",
      "feature_extract.ridcp_encoder.levels.3.blocks.4.mlp.fc2.bias\n",
      "feature_extract.ridcp_encoder.norm0.weight\n",
      "feature_extract.ridcp_encoder.norm0.bias\n",
      "feature_extract.ridcp_encoder.norm1.weight\n",
      "feature_extract.ridcp_encoder.norm1.bias\n",
      "feature_extract.ridcp_encoder.norm2.weight\n",
      "feature_extract.ridcp_encoder.norm2.bias\n",
      "feature_extract.ridcp_encoder.norm3.weight\n",
      "feature_extract.ridcp_encoder.norm3.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.1.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.1.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.2.conv.0.norm.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.2.conv.0.norm.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.2.conv.2.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.2.conv.2.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.2.conv.3.norm.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.2.conv.3.norm.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.2.conv.5.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.2.conv.5.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.3.conv.0.norm.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.3.conv.0.norm.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.3.conv.2.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.3.conv.2.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.3.conv.3.norm.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.3.conv.3.norm.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.3.conv.5.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.3.conv.5.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.conv1.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.conv1.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.conv2.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.conv2.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.calayer.ca.0.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.calayer.ca.0.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.calayer.ca.2.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.calayer.ca.2.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.palayer.pa.0.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.palayer.pa.0.bias\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.palayer.pa.2.weight\n",
      "feature_extract.ridcp_decoder.upsampler.0.4.palayer.pa.2.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.1.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.1.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.2.conv.0.norm.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.2.conv.0.norm.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.2.conv.2.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.2.conv.2.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.2.conv.3.norm.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.2.conv.3.norm.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.2.conv.5.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.2.conv.5.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.3.conv.0.norm.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.3.conv.0.norm.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.3.conv.2.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.3.conv.2.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.3.conv.3.norm.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.3.conv.3.norm.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.3.conv.5.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.3.conv.5.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.conv1.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.conv1.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.conv2.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.conv2.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.calayer.ca.0.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.calayer.ca.0.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.calayer.ca.2.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.calayer.ca.2.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.palayer.pa.0.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.palayer.pa.0.bias\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.palayer.pa.2.weight\n",
      "feature_extract.ridcp_decoder.upsampler.1.4.palayer.pa.2.bias\n",
      "feature_extract.ridcp_decoder.warp.0.offset.weight\n",
      "feature_extract.ridcp_decoder.warp.0.offset.bias\n",
      "feature_extract.ridcp_decoder.warp.0.dcn.weight\n",
      "feature_extract.ridcp_decoder.warp.0.dcn.bias\n",
      "feature_extract.ridcp_decoder.warp.0.dcn.conv_offset.weight\n",
      "feature_extract.ridcp_decoder.warp.0.dcn.conv_offset.bias\n",
      "feature_extract.ridcp_decoder.warp.1.offset.weight\n",
      "feature_extract.ridcp_decoder.warp.1.offset.bias\n",
      "feature_extract.ridcp_decoder.warp.1.dcn.weight\n",
      "feature_extract.ridcp_decoder.warp.1.dcn.bias\n",
      "feature_extract.ridcp_decoder.warp.1.dcn.conv_offset.weight\n",
      "feature_extract.ridcp_decoder.warp.1.dcn.conv_offset.bias\n",
      "feature_extract.vq_decoder_group.0.block.1.weight\n",
      "feature_extract.vq_decoder_group.0.block.1.bias\n",
      "feature_extract.vq_decoder_group.0.block.2.conv.0.norm.weight\n",
      "feature_extract.vq_decoder_group.0.block.2.conv.0.norm.bias\n",
      "feature_extract.vq_decoder_group.0.block.2.conv.2.weight\n",
      "feature_extract.vq_decoder_group.0.block.2.conv.2.bias\n",
      "feature_extract.vq_decoder_group.0.block.2.conv.3.norm.weight\n",
      "feature_extract.vq_decoder_group.0.block.2.conv.3.norm.bias\n",
      "feature_extract.vq_decoder_group.0.block.2.conv.5.weight\n",
      "feature_extract.vq_decoder_group.0.block.2.conv.5.bias\n",
      "feature_extract.vq_decoder_group.0.block.3.conv.0.norm.weight\n",
      "feature_extract.vq_decoder_group.0.block.3.conv.0.norm.bias\n",
      "feature_extract.vq_decoder_group.0.block.3.conv.2.weight\n",
      "feature_extract.vq_decoder_group.0.block.3.conv.2.bias\n",
      "feature_extract.vq_decoder_group.0.block.3.conv.3.norm.weight\n",
      "feature_extract.vq_decoder_group.0.block.3.conv.3.norm.bias\n",
      "feature_extract.vq_decoder_group.0.block.3.conv.5.weight\n",
      "feature_extract.vq_decoder_group.0.block.3.conv.5.bias\n",
      "feature_extract.vq_decoder_group.1.block.1.weight\n",
      "feature_extract.vq_decoder_group.1.block.1.bias\n",
      "feature_extract.vq_decoder_group.1.block.2.conv.0.norm.weight\n",
      "feature_extract.vq_decoder_group.1.block.2.conv.0.norm.bias\n",
      "feature_extract.vq_decoder_group.1.block.2.conv.2.weight\n",
      "feature_extract.vq_decoder_group.1.block.2.conv.2.bias\n",
      "feature_extract.vq_decoder_group.1.block.2.conv.3.norm.weight\n",
      "feature_extract.vq_decoder_group.1.block.2.conv.3.norm.bias\n",
      "feature_extract.vq_decoder_group.1.block.2.conv.5.weight\n",
      "feature_extract.vq_decoder_group.1.block.2.conv.5.bias\n",
      "feature_extract.vq_decoder_group.1.block.3.conv.0.norm.weight\n",
      "feature_extract.vq_decoder_group.1.block.3.conv.0.norm.bias\n",
      "feature_extract.vq_decoder_group.1.block.3.conv.2.weight\n",
      "feature_extract.vq_decoder_group.1.block.3.conv.2.bias\n",
      "feature_extract.vq_decoder_group.1.block.3.conv.3.norm.weight\n",
      "feature_extract.vq_decoder_group.1.block.3.conv.3.norm.bias\n",
      "feature_extract.vq_decoder_group.1.block.3.conv.5.weight\n",
      "feature_extract.vq_decoder_group.1.block.3.conv.5.bias\n",
      "feature_extract.out_conv.weight\n",
      "feature_extract.out_conv.bias\n",
      "feature_extract.enhancer.refine1.weight\n",
      "feature_extract.enhancer.refine1.bias\n",
      "feature_extract.enhancer.refine2.weight\n",
      "feature_extract.enhancer.refine2.bias\n",
      "feature_extract.enhancer.conv1010.weight\n",
      "feature_extract.enhancer.conv1010.bias\n",
      "feature_extract.enhancer.conv1020.weight\n",
      "feature_extract.enhancer.conv1020.bias\n",
      "feature_extract.enhancer.conv1030.weight\n",
      "feature_extract.enhancer.conv1030.bias\n",
      "feature_extract.enhancer.conv1040.weight\n",
      "feature_extract.enhancer.conv1040.bias\n",
      "feature_extract.enhancer.refine3.weight\n",
      "feature_extract.enhancer.refine3.bias\n",
      "feature_extract.enhancer.batch1.weight\n",
      "feature_extract.enhancer.batch1.bias\n",
      "feature_extract.residual_conv.weight\n",
      "feature_extract.residual_conv.bias\n",
      "feature_extract.quantizer.embedding.weight\n",
      "feature_extract.before_quant.weight\n",
      "feature_extract.before_quant.bias\n",
      "feature_extract.after_quant.conv.weight\n",
      "feature_extract.after_quant.conv.bias\n",
      "pre_trained_rcan.head.0.weight\n",
      "pre_trained_rcan.head.0.bias\n",
      "pre_trained_rcan.body.0.body.0.body.0.weight\n",
      "pre_trained_rcan.body.0.body.0.body.0.bias\n",
      "pre_trained_rcan.body.0.body.0.body.2.weight\n",
      "pre_trained_rcan.body.0.body.0.body.2.bias\n",
      "pre_trained_rcan.body.0.body.0.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.0.body.0.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.0.body.0.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.0.body.0.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.0.body.1.body.0.weight\n",
      "pre_trained_rcan.body.0.body.1.body.0.bias\n",
      "pre_trained_rcan.body.0.body.1.body.2.weight\n",
      "pre_trained_rcan.body.0.body.1.body.2.bias\n",
      "pre_trained_rcan.body.0.body.1.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.0.body.1.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.0.body.1.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.0.body.1.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.0.body.2.body.0.weight\n",
      "pre_trained_rcan.body.0.body.2.body.0.bias\n",
      "pre_trained_rcan.body.0.body.2.body.2.weight\n",
      "pre_trained_rcan.body.0.body.2.body.2.bias\n",
      "pre_trained_rcan.body.0.body.2.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.0.body.2.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.0.body.2.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.0.body.2.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.0.body.3.body.0.weight\n",
      "pre_trained_rcan.body.0.body.3.body.0.bias\n",
      "pre_trained_rcan.body.0.body.3.body.2.weight\n",
      "pre_trained_rcan.body.0.body.3.body.2.bias\n",
      "pre_trained_rcan.body.0.body.3.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.0.body.3.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.0.body.3.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.0.body.3.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.0.body.4.body.0.weight\n",
      "pre_trained_rcan.body.0.body.4.body.0.bias\n",
      "pre_trained_rcan.body.0.body.4.body.2.weight\n",
      "pre_trained_rcan.body.0.body.4.body.2.bias\n",
      "pre_trained_rcan.body.0.body.4.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.0.body.4.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.0.body.4.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.0.body.4.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.0.body.5.body.0.weight\n",
      "pre_trained_rcan.body.0.body.5.body.0.bias\n",
      "pre_trained_rcan.body.0.body.5.body.2.weight\n",
      "pre_trained_rcan.body.0.body.5.body.2.bias\n",
      "pre_trained_rcan.body.0.body.5.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.0.body.5.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.0.body.5.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.0.body.5.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.0.body.6.body.0.weight\n",
      "pre_trained_rcan.body.0.body.6.body.0.bias\n",
      "pre_trained_rcan.body.0.body.6.body.2.weight\n",
      "pre_trained_rcan.body.0.body.6.body.2.bias\n",
      "pre_trained_rcan.body.0.body.6.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.0.body.6.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.0.body.6.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.0.body.6.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.0.body.7.body.0.weight\n",
      "pre_trained_rcan.body.0.body.7.body.0.bias\n",
      "pre_trained_rcan.body.0.body.7.body.2.weight\n",
      "pre_trained_rcan.body.0.body.7.body.2.bias\n",
      "pre_trained_rcan.body.0.body.7.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.0.body.7.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.0.body.7.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.0.body.7.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.0.body.8.body.0.weight\n",
      "pre_trained_rcan.body.0.body.8.body.0.bias\n",
      "pre_trained_rcan.body.0.body.8.body.2.weight\n",
      "pre_trained_rcan.body.0.body.8.body.2.bias\n",
      "pre_trained_rcan.body.0.body.8.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.0.body.8.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.0.body.8.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.0.body.8.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.0.body.9.body.0.weight\n",
      "pre_trained_rcan.body.0.body.9.body.0.bias\n",
      "pre_trained_rcan.body.0.body.9.body.2.weight\n",
      "pre_trained_rcan.body.0.body.9.body.2.bias\n",
      "pre_trained_rcan.body.0.body.9.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.0.body.9.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.0.body.9.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.0.body.9.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.0.body.10.weight\n",
      "pre_trained_rcan.body.0.body.10.bias\n",
      "pre_trained_rcan.body.1.body.0.body.0.weight\n",
      "pre_trained_rcan.body.1.body.0.body.0.bias\n",
      "pre_trained_rcan.body.1.body.0.body.2.weight\n",
      "pre_trained_rcan.body.1.body.0.body.2.bias\n",
      "pre_trained_rcan.body.1.body.0.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.1.body.0.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.1.body.0.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.1.body.0.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.1.body.1.body.0.weight\n",
      "pre_trained_rcan.body.1.body.1.body.0.bias\n",
      "pre_trained_rcan.body.1.body.1.body.2.weight\n",
      "pre_trained_rcan.body.1.body.1.body.2.bias\n",
      "pre_trained_rcan.body.1.body.1.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.1.body.1.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.1.body.1.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.1.body.1.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.1.body.2.body.0.weight\n",
      "pre_trained_rcan.body.1.body.2.body.0.bias\n",
      "pre_trained_rcan.body.1.body.2.body.2.weight\n",
      "pre_trained_rcan.body.1.body.2.body.2.bias\n",
      "pre_trained_rcan.body.1.body.2.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.1.body.2.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.1.body.2.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.1.body.2.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.1.body.3.body.0.weight\n",
      "pre_trained_rcan.body.1.body.3.body.0.bias\n",
      "pre_trained_rcan.body.1.body.3.body.2.weight\n",
      "pre_trained_rcan.body.1.body.3.body.2.bias\n",
      "pre_trained_rcan.body.1.body.3.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.1.body.3.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.1.body.3.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.1.body.3.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.1.body.4.body.0.weight\n",
      "pre_trained_rcan.body.1.body.4.body.0.bias\n",
      "pre_trained_rcan.body.1.body.4.body.2.weight\n",
      "pre_trained_rcan.body.1.body.4.body.2.bias\n",
      "pre_trained_rcan.body.1.body.4.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.1.body.4.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.1.body.4.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.1.body.4.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.1.body.5.body.0.weight\n",
      "pre_trained_rcan.body.1.body.5.body.0.bias\n",
      "pre_trained_rcan.body.1.body.5.body.2.weight\n",
      "pre_trained_rcan.body.1.body.5.body.2.bias\n",
      "pre_trained_rcan.body.1.body.5.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.1.body.5.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.1.body.5.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.1.body.5.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.1.body.6.body.0.weight\n",
      "pre_trained_rcan.body.1.body.6.body.0.bias\n",
      "pre_trained_rcan.body.1.body.6.body.2.weight\n",
      "pre_trained_rcan.body.1.body.6.body.2.bias\n",
      "pre_trained_rcan.body.1.body.6.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.1.body.6.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.1.body.6.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.1.body.6.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.1.body.7.body.0.weight\n",
      "pre_trained_rcan.body.1.body.7.body.0.bias\n",
      "pre_trained_rcan.body.1.body.7.body.2.weight\n",
      "pre_trained_rcan.body.1.body.7.body.2.bias\n",
      "pre_trained_rcan.body.1.body.7.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.1.body.7.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.1.body.7.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.1.body.7.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.1.body.8.body.0.weight\n",
      "pre_trained_rcan.body.1.body.8.body.0.bias\n",
      "pre_trained_rcan.body.1.body.8.body.2.weight\n",
      "pre_trained_rcan.body.1.body.8.body.2.bias\n",
      "pre_trained_rcan.body.1.body.8.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.1.body.8.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.1.body.8.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.1.body.8.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.1.body.9.body.0.weight\n",
      "pre_trained_rcan.body.1.body.9.body.0.bias\n",
      "pre_trained_rcan.body.1.body.9.body.2.weight\n",
      "pre_trained_rcan.body.1.body.9.body.2.bias\n",
      "pre_trained_rcan.body.1.body.9.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.1.body.9.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.1.body.9.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.1.body.9.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.1.body.10.weight\n",
      "pre_trained_rcan.body.1.body.10.bias\n",
      "pre_trained_rcan.body.2.body.0.body.0.weight\n",
      "pre_trained_rcan.body.2.body.0.body.0.bias\n",
      "pre_trained_rcan.body.2.body.0.body.2.weight\n",
      "pre_trained_rcan.body.2.body.0.body.2.bias\n",
      "pre_trained_rcan.body.2.body.0.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.2.body.0.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.2.body.0.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.2.body.0.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.2.body.1.body.0.weight\n",
      "pre_trained_rcan.body.2.body.1.body.0.bias\n",
      "pre_trained_rcan.body.2.body.1.body.2.weight\n",
      "pre_trained_rcan.body.2.body.1.body.2.bias\n",
      "pre_trained_rcan.body.2.body.1.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.2.body.1.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.2.body.1.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.2.body.1.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.2.body.2.body.0.weight\n",
      "pre_trained_rcan.body.2.body.2.body.0.bias\n",
      "pre_trained_rcan.body.2.body.2.body.2.weight\n",
      "pre_trained_rcan.body.2.body.2.body.2.bias\n",
      "pre_trained_rcan.body.2.body.2.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.2.body.2.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.2.body.2.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.2.body.2.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.2.body.3.body.0.weight\n",
      "pre_trained_rcan.body.2.body.3.body.0.bias\n",
      "pre_trained_rcan.body.2.body.3.body.2.weight\n",
      "pre_trained_rcan.body.2.body.3.body.2.bias\n",
      "pre_trained_rcan.body.2.body.3.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.2.body.3.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.2.body.3.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.2.body.3.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.2.body.4.body.0.weight\n",
      "pre_trained_rcan.body.2.body.4.body.0.bias\n",
      "pre_trained_rcan.body.2.body.4.body.2.weight\n",
      "pre_trained_rcan.body.2.body.4.body.2.bias\n",
      "pre_trained_rcan.body.2.body.4.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.2.body.4.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.2.body.4.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.2.body.4.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.2.body.5.body.0.weight\n",
      "pre_trained_rcan.body.2.body.5.body.0.bias\n",
      "pre_trained_rcan.body.2.body.5.body.2.weight\n",
      "pre_trained_rcan.body.2.body.5.body.2.bias\n",
      "pre_trained_rcan.body.2.body.5.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.2.body.5.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.2.body.5.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.2.body.5.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.2.body.6.body.0.weight\n",
      "pre_trained_rcan.body.2.body.6.body.0.bias\n",
      "pre_trained_rcan.body.2.body.6.body.2.weight\n",
      "pre_trained_rcan.body.2.body.6.body.2.bias\n",
      "pre_trained_rcan.body.2.body.6.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.2.body.6.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.2.body.6.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.2.body.6.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.2.body.7.body.0.weight\n",
      "pre_trained_rcan.body.2.body.7.body.0.bias\n",
      "pre_trained_rcan.body.2.body.7.body.2.weight\n",
      "pre_trained_rcan.body.2.body.7.body.2.bias\n",
      "pre_trained_rcan.body.2.body.7.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.2.body.7.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.2.body.7.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.2.body.7.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.2.body.8.body.0.weight\n",
      "pre_trained_rcan.body.2.body.8.body.0.bias\n",
      "pre_trained_rcan.body.2.body.8.body.2.weight\n",
      "pre_trained_rcan.body.2.body.8.body.2.bias\n",
      "pre_trained_rcan.body.2.body.8.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.2.body.8.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.2.body.8.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.2.body.8.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.2.body.9.body.0.weight\n",
      "pre_trained_rcan.body.2.body.9.body.0.bias\n",
      "pre_trained_rcan.body.2.body.9.body.2.weight\n",
      "pre_trained_rcan.body.2.body.9.body.2.bias\n",
      "pre_trained_rcan.body.2.body.9.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.2.body.9.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.2.body.9.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.2.body.9.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.2.body.10.weight\n",
      "pre_trained_rcan.body.2.body.10.bias\n",
      "pre_trained_rcan.body.3.body.0.body.0.weight\n",
      "pre_trained_rcan.body.3.body.0.body.0.bias\n",
      "pre_trained_rcan.body.3.body.0.body.2.weight\n",
      "pre_trained_rcan.body.3.body.0.body.2.bias\n",
      "pre_trained_rcan.body.3.body.0.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.3.body.0.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.3.body.0.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.3.body.0.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.3.body.1.body.0.weight\n",
      "pre_trained_rcan.body.3.body.1.body.0.bias\n",
      "pre_trained_rcan.body.3.body.1.body.2.weight\n",
      "pre_trained_rcan.body.3.body.1.body.2.bias\n",
      "pre_trained_rcan.body.3.body.1.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.3.body.1.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.3.body.1.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.3.body.1.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.3.body.2.body.0.weight\n",
      "pre_trained_rcan.body.3.body.2.body.0.bias\n",
      "pre_trained_rcan.body.3.body.2.body.2.weight\n",
      "pre_trained_rcan.body.3.body.2.body.2.bias\n",
      "pre_trained_rcan.body.3.body.2.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.3.body.2.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.3.body.2.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.3.body.2.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.3.body.3.body.0.weight\n",
      "pre_trained_rcan.body.3.body.3.body.0.bias\n",
      "pre_trained_rcan.body.3.body.3.body.2.weight\n",
      "pre_trained_rcan.body.3.body.3.body.2.bias\n",
      "pre_trained_rcan.body.3.body.3.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.3.body.3.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.3.body.3.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.3.body.3.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.3.body.4.body.0.weight\n",
      "pre_trained_rcan.body.3.body.4.body.0.bias\n",
      "pre_trained_rcan.body.3.body.4.body.2.weight\n",
      "pre_trained_rcan.body.3.body.4.body.2.bias\n",
      "pre_trained_rcan.body.3.body.4.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.3.body.4.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.3.body.4.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.3.body.4.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.3.body.5.body.0.weight\n",
      "pre_trained_rcan.body.3.body.5.body.0.bias\n",
      "pre_trained_rcan.body.3.body.5.body.2.weight\n",
      "pre_trained_rcan.body.3.body.5.body.2.bias\n",
      "pre_trained_rcan.body.3.body.5.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.3.body.5.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.3.body.5.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.3.body.5.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.3.body.6.body.0.weight\n",
      "pre_trained_rcan.body.3.body.6.body.0.bias\n",
      "pre_trained_rcan.body.3.body.6.body.2.weight\n",
      "pre_trained_rcan.body.3.body.6.body.2.bias\n",
      "pre_trained_rcan.body.3.body.6.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.3.body.6.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.3.body.6.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.3.body.6.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.3.body.7.body.0.weight\n",
      "pre_trained_rcan.body.3.body.7.body.0.bias\n",
      "pre_trained_rcan.body.3.body.7.body.2.weight\n",
      "pre_trained_rcan.body.3.body.7.body.2.bias\n",
      "pre_trained_rcan.body.3.body.7.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.3.body.7.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.3.body.7.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.3.body.7.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.3.body.8.body.0.weight\n",
      "pre_trained_rcan.body.3.body.8.body.0.bias\n",
      "pre_trained_rcan.body.3.body.8.body.2.weight\n",
      "pre_trained_rcan.body.3.body.8.body.2.bias\n",
      "pre_trained_rcan.body.3.body.8.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.3.body.8.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.3.body.8.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.3.body.8.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.3.body.9.body.0.weight\n",
      "pre_trained_rcan.body.3.body.9.body.0.bias\n",
      "pre_trained_rcan.body.3.body.9.body.2.weight\n",
      "pre_trained_rcan.body.3.body.9.body.2.bias\n",
      "pre_trained_rcan.body.3.body.9.body.3.conv_du.0.weight\n",
      "pre_trained_rcan.body.3.body.9.body.3.conv_du.0.bias\n",
      "pre_trained_rcan.body.3.body.9.body.3.conv_du.2.weight\n",
      "pre_trained_rcan.body.3.body.9.body.3.conv_du.2.bias\n",
      "pre_trained_rcan.body.3.body.10.weight\n",
      "pre_trained_rcan.body.3.body.10.bias\n",
      "pre_trained_rcan.body.4.weight\n",
      "pre_trained_rcan.body.4.bias\n",
      "pre_trained_rcan.tail.0.weight\n",
      "pre_trained_rcan.tail.0.bias\n",
      "tail.1.weight\n",
      "tail.1.bias\n"
     ]
    }
   ],
   "source": [
    "for key, param in itb_net.state_dict().items():\n",
    "    print(key)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:06:21.562240Z",
     "start_time": "2024-03-08T10:06:21.554508Z"
    }
   },
   "id": "594d78417ed9e9de"
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "outputs": [],
   "source": [
    "new_hqp = {}\n",
    "for key, value in load_hqp.items():\n",
    "    if key.startswith('multiscale_encoder.'):\n",
    "        new_key = key.replace('multiscale_encoder.', 'vq_encoder.', 1)\n",
    "    elif key.startswith('decoder_group.'):\n",
    "        new_key = key.replace('decoder_group.', 'vq_decoder_group.', 1)\n",
    "    elif key.startswith('multiscale_decoder.'):\n",
    "        new_key = key.replace('multiscale_decoder.', 'ridcp_decoder.', 1)\n",
    "    elif key.startswith('quantize_group.0.'):\n",
    "        new_key = key.replace('quantize_group.0.', \"quantizer.\", 1)\n",
    "    elif key.startswith('before_quant_group.0.'):\n",
    "        new_key = key.replace('before_quant_group.0.', \"before_quant.\", 1)\n",
    "    elif key.startswith('after_quant_group.0.'):\n",
    "        new_key = key.replace('after_quant_group.0.', \"after_quant.\", 1)\n",
    "    else:\n",
    "        new_key = key\n",
    "    new_hqp[new_key] = value"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:07:28.792666Z",
     "start_time": "2024-03-08T10:07:28.789500Z"
    }
   },
   "id": "7f72c3d2d09f6277"
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "outputs": [],
   "source": [
    "hqp_key = set(hqp_net.state_dict())\n",
    "new_hqp_key = set(new_hqp.keys())"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:07:30.302284Z",
     "start_time": "2024-03-08T10:07:30.299330Z"
    }
   },
   "id": "d2ba68a9ccb5081b"
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "outputs": [
    {
     "data": {
      "text/plain": "True"
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_hqp_key == hqp_key"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:07:31.308824Z",
     "start_time": "2024-03-08T10:07:31.306251Z"
    }
   },
   "id": "ac74e840eb6f9612"
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "81\n",
      "vq_encoder.in_conv.weight\n",
      "vq_encoder.in_conv.bias\n",
      "vq_encoder.blocks.0.0.weight\n",
      "vq_encoder.blocks.0.0.bias\n",
      "vq_encoder.blocks.0.1.conv.0.norm.weight\n",
      "vq_encoder.blocks.0.1.conv.0.norm.bias\n",
      "vq_encoder.blocks.0.1.conv.2.weight\n",
      "vq_encoder.blocks.0.1.conv.2.bias\n",
      "vq_encoder.blocks.0.1.conv.3.norm.weight\n",
      "vq_encoder.blocks.0.1.conv.3.norm.bias\n",
      "vq_encoder.blocks.0.1.conv.5.weight\n",
      "vq_encoder.blocks.0.1.conv.5.bias\n",
      "vq_encoder.blocks.0.2.conv.0.norm.weight\n",
      "vq_encoder.blocks.0.2.conv.0.norm.bias\n",
      "vq_encoder.blocks.0.2.conv.2.weight\n",
      "vq_encoder.blocks.0.2.conv.2.bias\n",
      "vq_encoder.blocks.0.2.conv.3.norm.weight\n",
      "vq_encoder.blocks.0.2.conv.3.norm.bias\n",
      "vq_encoder.blocks.0.2.conv.5.weight\n",
      "vq_encoder.blocks.0.2.conv.5.bias\n",
      "vq_encoder.blocks.1.0.weight\n",
      "vq_encoder.blocks.1.0.bias\n",
      "vq_encoder.blocks.1.1.conv.0.norm.weight\n",
      "vq_encoder.blocks.1.1.conv.0.norm.bias\n",
      "vq_encoder.blocks.1.1.conv.2.weight\n",
      "vq_encoder.blocks.1.1.conv.2.bias\n",
      "vq_encoder.blocks.1.1.conv.3.norm.weight\n",
      "vq_encoder.blocks.1.1.conv.3.norm.bias\n",
      "vq_encoder.blocks.1.1.conv.5.weight\n",
      "vq_encoder.blocks.1.1.conv.5.bias\n",
      "vq_encoder.blocks.1.2.conv.0.norm.weight\n",
      "vq_encoder.blocks.1.2.conv.0.norm.bias\n",
      "vq_encoder.blocks.1.2.conv.2.weight\n",
      "vq_encoder.blocks.1.2.conv.2.bias\n",
      "vq_encoder.blocks.1.2.conv.3.norm.weight\n",
      "vq_encoder.blocks.1.2.conv.3.norm.bias\n",
      "vq_encoder.blocks.1.2.conv.5.weight\n",
      "vq_encoder.blocks.1.2.conv.5.bias\n",
      "vq_decoder_group.0.block.1.weight\n",
      "vq_decoder_group.0.block.1.bias\n",
      "vq_decoder_group.0.block.2.conv.0.norm.weight\n",
      "vq_decoder_group.0.block.2.conv.0.norm.bias\n",
      "vq_decoder_group.0.block.2.conv.2.weight\n",
      "vq_decoder_group.0.block.2.conv.2.bias\n",
      "vq_decoder_group.0.block.2.conv.3.norm.weight\n",
      "vq_decoder_group.0.block.2.conv.3.norm.bias\n",
      "vq_decoder_group.0.block.2.conv.5.weight\n",
      "vq_decoder_group.0.block.2.conv.5.bias\n",
      "vq_decoder_group.0.block.3.conv.0.norm.weight\n",
      "vq_decoder_group.0.block.3.conv.0.norm.bias\n",
      "vq_decoder_group.0.block.3.conv.2.weight\n",
      "vq_decoder_group.0.block.3.conv.2.bias\n",
      "vq_decoder_group.0.block.3.conv.3.norm.weight\n",
      "vq_decoder_group.0.block.3.conv.3.norm.bias\n",
      "vq_decoder_group.0.block.3.conv.5.weight\n",
      "vq_decoder_group.0.block.3.conv.5.bias\n",
      "vq_decoder_group.1.block.1.weight\n",
      "vq_decoder_group.1.block.1.bias\n",
      "vq_decoder_group.1.block.2.conv.0.norm.weight\n",
      "vq_decoder_group.1.block.2.conv.0.norm.bias\n",
      "vq_decoder_group.1.block.2.conv.2.weight\n",
      "vq_decoder_group.1.block.2.conv.2.bias\n",
      "vq_decoder_group.1.block.2.conv.3.norm.weight\n",
      "vq_decoder_group.1.block.2.conv.3.norm.bias\n",
      "vq_decoder_group.1.block.2.conv.5.weight\n",
      "vq_decoder_group.1.block.2.conv.5.bias\n",
      "vq_decoder_group.1.block.3.conv.0.norm.weight\n",
      "vq_decoder_group.1.block.3.conv.0.norm.bias\n",
      "vq_decoder_group.1.block.3.conv.2.weight\n",
      "vq_decoder_group.1.block.3.conv.2.bias\n",
      "vq_decoder_group.1.block.3.conv.3.norm.weight\n",
      "vq_decoder_group.1.block.3.conv.3.norm.bias\n",
      "vq_decoder_group.1.block.3.conv.5.weight\n",
      "vq_decoder_group.1.block.3.conv.5.bias\n",
      "out_conv.weight\n",
      "out_conv.bias\n",
      "quantizer.embedding.weight\n",
      "before_quant.weight\n",
      "before_quant.bias\n",
      "after_quant.conv.weight\n",
      "after_quant.conv.bias\n"
     ]
    }
   ],
   "source": [
    "print(len(new_hqp.keys()))\n",
    "for key, value in new_hqp.items():\n",
    "    print(key)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:07:32.448848Z",
     "start_time": "2024-03-08T10:07:32.446239Z"
    }
   },
   "id": "907586485a04e58b"
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "outputs": [
    {
     "data": {
      "text/plain": "True"
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "set(hqp_net.state_dict().keys()) == set(new_hqp.keys())"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:07:34.619509Z",
     "start_time": "2024-03-08T10:07:34.615986Z"
    }
   },
   "id": "59bfa2df1d3f9db2"
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "outputs": [],
   "source": [
    "hqp_state = hqp_net.state_dict()\n",
    "if set(hqp_state.keys()) == set(new_hqp.keys()):\n",
    "    hqp_state.update(new_hqp)\n",
    "    hqp_net.load_state_dict(hqp_state)\n",
    "    save_dict = {param_key: hqp_net.state_dict()}\n",
    "    torch.save(save_dict, pretrained_new_hqp_path)\n",
    "else:\n",
    "    print(set(hqp_state.keys()) - set(new_hqp.keys()))\n",
    "    print(\"-------------------------------\")\n",
    "    print(set(new_hqp.keys()) - set(hqp_state.keys()))"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:07:42.720004Z",
     "start_time": "2024-03-08T10:07:42.607595Z"
    }
   },
   "id": "df9924cbfef50171"
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "outputs": [
    {
     "data": {
      "text/plain": "<All keys matched successfully>"
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hqp_net.load_state_dict(torch.load(pretrained_new_hqp_path)[param_key])"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:07:43.962858Z",
     "start_time": "2024-03-08T10:07:43.875841Z"
    }
   },
   "id": "dd6e8baf9e143262"
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "从 ../pretrained_models/pretrained_HQPs_ITB.pth 加载模型 FusionRefine 网络参数层为: [params].\n",
      "当前神经网络 相比 已加载的神经网络 多出的网络层:\n",
      "  feature_extract.enhancer.batch1.bias\n",
      "  feature_extract.enhancer.batch1.weight\n",
      "  feature_extract.enhancer.conv1010.bias\n",
      "  feature_extract.enhancer.conv1010.weight\n",
      "  feature_extract.enhancer.conv1020.bias\n",
      "  feature_extract.enhancer.conv1020.weight\n",
      "  feature_extract.enhancer.conv1030.bias\n",
      "  feature_extract.enhancer.conv1030.weight\n",
      "  feature_extract.enhancer.conv1040.bias\n",
      "  feature_extract.enhancer.conv1040.weight\n",
      "  feature_extract.enhancer.refine1.bias\n",
      "  feature_extract.enhancer.refine1.weight\n",
      "  feature_extract.enhancer.refine2.bias\n",
      "  feature_extract.enhancer.refine2.weight\n",
      "  feature_extract.enhancer.refine3.bias\n",
      "  feature_extract.enhancer.refine3.weight\n",
      "  feature_extract.residual_conv.bias\n",
      "  feature_extract.residual_conv.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.1.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.1.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.2.conv.0.norm.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.2.conv.0.norm.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.2.conv.2.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.2.conv.2.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.2.conv.3.norm.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.2.conv.3.norm.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.2.conv.5.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.2.conv.5.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.3.conv.0.norm.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.3.conv.0.norm.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.3.conv.2.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.3.conv.2.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.3.conv.3.norm.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.3.conv.3.norm.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.3.conv.5.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.3.conv.5.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.calayer.ca.0.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.calayer.ca.0.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.calayer.ca.2.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.calayer.ca.2.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.conv1.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.conv1.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.conv2.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.conv2.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.palayer.pa.0.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.palayer.pa.0.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.palayer.pa.2.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.0.4.palayer.pa.2.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.1.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.1.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.2.conv.0.norm.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.2.conv.0.norm.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.2.conv.2.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.2.conv.2.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.2.conv.3.norm.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.2.conv.3.norm.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.2.conv.5.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.2.conv.5.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.3.conv.0.norm.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.3.conv.0.norm.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.3.conv.2.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.3.conv.2.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.3.conv.3.norm.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.3.conv.3.norm.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.3.conv.5.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.3.conv.5.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.calayer.ca.0.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.calayer.ca.0.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.calayer.ca.2.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.calayer.ca.2.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.conv1.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.conv1.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.conv2.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.conv2.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.palayer.pa.0.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.palayer.pa.0.weight\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.palayer.pa.2.bias\n",
      "  feature_extract.ridcp_decoder.upsampler.1.4.palayer.pa.2.weight\n",
      "  feature_extract.ridcp_decoder.warp.0.dcn.bias\n",
      "  feature_extract.ridcp_decoder.warp.0.dcn.conv_offset.bias\n",
      "  feature_extract.ridcp_decoder.warp.0.dcn.conv_offset.weight\n",
      "  feature_extract.ridcp_decoder.warp.0.dcn.weight\n",
      "  feature_extract.ridcp_decoder.warp.0.offset.bias\n",
      "  feature_extract.ridcp_decoder.warp.0.offset.weight\n",
      "  feature_extract.ridcp_decoder.warp.1.dcn.bias\n",
      "  feature_extract.ridcp_decoder.warp.1.dcn.conv_offset.bias\n",
      "  feature_extract.ridcp_decoder.warp.1.dcn.conv_offset.weight\n",
      "  feature_extract.ridcp_decoder.warp.1.dcn.weight\n",
      "  feature_extract.ridcp_decoder.warp.1.offset.bias\n",
      "  feature_extract.ridcp_decoder.warp.1.offset.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.0.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.1.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.0.blocks.2.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.0.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.1.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.2.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.1.blocks.3.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.0.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.1.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.10.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.11.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.12.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.13.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.14.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.15.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.16.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.17.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.2.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.3.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.4.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.5.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.6.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.7.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.8.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.2.blocks.9.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.0.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.1.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.2.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.3.norm2.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.attn.proj.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.attn.proj.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.attn.qkv.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.attn.qkv.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.attn.rpb\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.gamma1\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.gamma2\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.mlp.fc1.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.mlp.fc1.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.mlp.fc2.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.mlp.fc2.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.norm1.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.norm1.weight\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.norm2.bias\n",
      "  feature_extract.ridcp_encoder.levels.3.blocks.4.norm2.weight\n",
      "  feature_extract.ridcp_encoder.norm0.bias\n",
      "  feature_extract.ridcp_encoder.norm0.weight\n",
      "  feature_extract.ridcp_encoder.norm1.bias\n",
      "  feature_extract.ridcp_encoder.norm1.weight\n",
      "  feature_extract.ridcp_encoder.norm2.bias\n",
      "  feature_extract.ridcp_encoder.norm2.weight\n",
      "  feature_extract.ridcp_encoder.norm3.bias\n",
      "  feature_extract.ridcp_encoder.norm3.weight\n",
      "  feature_extract.ridcp_encoder.patch_embed.norm.bias\n",
      "  feature_extract.ridcp_encoder.patch_embed.norm.weight\n",
      "  feature_extract.ridcp_encoder.patch_embed.proj.0.bias\n",
      "  feature_extract.ridcp_encoder.patch_embed.proj.0.weight\n",
      "  feature_extract.ridcp_encoder.patch_embed.proj.1.bias\n",
      "  feature_extract.ridcp_encoder.patch_embed.proj.1.weight\n",
      "  pre_trained_rcan.body.0.body.0.body.0.bias\n",
      "  pre_trained_rcan.body.0.body.0.body.0.weight\n",
      "  pre_trained_rcan.body.0.body.0.body.2.bias\n",
      "  pre_trained_rcan.body.0.body.0.body.2.weight\n",
      "  pre_trained_rcan.body.0.body.0.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.0.body.0.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.0.body.0.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.0.body.0.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.0.body.1.body.0.bias\n",
      "  pre_trained_rcan.body.0.body.1.body.0.weight\n",
      "  pre_trained_rcan.body.0.body.1.body.2.bias\n",
      "  pre_trained_rcan.body.0.body.1.body.2.weight\n",
      "  pre_trained_rcan.body.0.body.1.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.0.body.1.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.0.body.1.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.0.body.1.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.0.body.10.bias\n",
      "  pre_trained_rcan.body.0.body.10.weight\n",
      "  pre_trained_rcan.body.0.body.2.body.0.bias\n",
      "  pre_trained_rcan.body.0.body.2.body.0.weight\n",
      "  pre_trained_rcan.body.0.body.2.body.2.bias\n",
      "  pre_trained_rcan.body.0.body.2.body.2.weight\n",
      "  pre_trained_rcan.body.0.body.2.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.0.body.2.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.0.body.2.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.0.body.2.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.0.body.3.body.0.bias\n",
      "  pre_trained_rcan.body.0.body.3.body.0.weight\n",
      "  pre_trained_rcan.body.0.body.3.body.2.bias\n",
      "  pre_trained_rcan.body.0.body.3.body.2.weight\n",
      "  pre_trained_rcan.body.0.body.3.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.0.body.3.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.0.body.3.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.0.body.3.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.0.body.4.body.0.bias\n",
      "  pre_trained_rcan.body.0.body.4.body.0.weight\n",
      "  pre_trained_rcan.body.0.body.4.body.2.bias\n",
      "  pre_trained_rcan.body.0.body.4.body.2.weight\n",
      "  pre_trained_rcan.body.0.body.4.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.0.body.4.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.0.body.4.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.0.body.4.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.0.body.5.body.0.bias\n",
      "  pre_trained_rcan.body.0.body.5.body.0.weight\n",
      "  pre_trained_rcan.body.0.body.5.body.2.bias\n",
      "  pre_trained_rcan.body.0.body.5.body.2.weight\n",
      "  pre_trained_rcan.body.0.body.5.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.0.body.5.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.0.body.5.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.0.body.5.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.0.body.6.body.0.bias\n",
      "  pre_trained_rcan.body.0.body.6.body.0.weight\n",
      "  pre_trained_rcan.body.0.body.6.body.2.bias\n",
      "  pre_trained_rcan.body.0.body.6.body.2.weight\n",
      "  pre_trained_rcan.body.0.body.6.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.0.body.6.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.0.body.6.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.0.body.6.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.0.body.7.body.0.bias\n",
      "  pre_trained_rcan.body.0.body.7.body.0.weight\n",
      "  pre_trained_rcan.body.0.body.7.body.2.bias\n",
      "  pre_trained_rcan.body.0.body.7.body.2.weight\n",
      "  pre_trained_rcan.body.0.body.7.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.0.body.7.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.0.body.7.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.0.body.7.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.0.body.8.body.0.bias\n",
      "  pre_trained_rcan.body.0.body.8.body.0.weight\n",
      "  pre_trained_rcan.body.0.body.8.body.2.bias\n",
      "  pre_trained_rcan.body.0.body.8.body.2.weight\n",
      "  pre_trained_rcan.body.0.body.8.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.0.body.8.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.0.body.8.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.0.body.8.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.0.body.9.body.0.bias\n",
      "  pre_trained_rcan.body.0.body.9.body.0.weight\n",
      "  pre_trained_rcan.body.0.body.9.body.2.bias\n",
      "  pre_trained_rcan.body.0.body.9.body.2.weight\n",
      "  pre_trained_rcan.body.0.body.9.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.0.body.9.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.0.body.9.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.0.body.9.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.1.body.0.body.0.bias\n",
      "  pre_trained_rcan.body.1.body.0.body.0.weight\n",
      "  pre_trained_rcan.body.1.body.0.body.2.bias\n",
      "  pre_trained_rcan.body.1.body.0.body.2.weight\n",
      "  pre_trained_rcan.body.1.body.0.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.1.body.0.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.1.body.0.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.1.body.0.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.1.body.1.body.0.bias\n",
      "  pre_trained_rcan.body.1.body.1.body.0.weight\n",
      "  pre_trained_rcan.body.1.body.1.body.2.bias\n",
      "  pre_trained_rcan.body.1.body.1.body.2.weight\n",
      "  pre_trained_rcan.body.1.body.1.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.1.body.1.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.1.body.1.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.1.body.1.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.1.body.10.bias\n",
      "  pre_trained_rcan.body.1.body.10.weight\n",
      "  pre_trained_rcan.body.1.body.2.body.0.bias\n",
      "  pre_trained_rcan.body.1.body.2.body.0.weight\n",
      "  pre_trained_rcan.body.1.body.2.body.2.bias\n",
      "  pre_trained_rcan.body.1.body.2.body.2.weight\n",
      "  pre_trained_rcan.body.1.body.2.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.1.body.2.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.1.body.2.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.1.body.2.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.1.body.3.body.0.bias\n",
      "  pre_trained_rcan.body.1.body.3.body.0.weight\n",
      "  pre_trained_rcan.body.1.body.3.body.2.bias\n",
      "  pre_trained_rcan.body.1.body.3.body.2.weight\n",
      "  pre_trained_rcan.body.1.body.3.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.1.body.3.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.1.body.3.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.1.body.3.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.1.body.4.body.0.bias\n",
      "  pre_trained_rcan.body.1.body.4.body.0.weight\n",
      "  pre_trained_rcan.body.1.body.4.body.2.bias\n",
      "  pre_trained_rcan.body.1.body.4.body.2.weight\n",
      "  pre_trained_rcan.body.1.body.4.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.1.body.4.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.1.body.4.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.1.body.4.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.1.body.5.body.0.bias\n",
      "  pre_trained_rcan.body.1.body.5.body.0.weight\n",
      "  pre_trained_rcan.body.1.body.5.body.2.bias\n",
      "  pre_trained_rcan.body.1.body.5.body.2.weight\n",
      "  pre_trained_rcan.body.1.body.5.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.1.body.5.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.1.body.5.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.1.body.5.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.1.body.6.body.0.bias\n",
      "  pre_trained_rcan.body.1.body.6.body.0.weight\n",
      "  pre_trained_rcan.body.1.body.6.body.2.bias\n",
      "  pre_trained_rcan.body.1.body.6.body.2.weight\n",
      "  pre_trained_rcan.body.1.body.6.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.1.body.6.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.1.body.6.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.1.body.6.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.1.body.7.body.0.bias\n",
      "  pre_trained_rcan.body.1.body.7.body.0.weight\n",
      "  pre_trained_rcan.body.1.body.7.body.2.bias\n",
      "  pre_trained_rcan.body.1.body.7.body.2.weight\n",
      "  pre_trained_rcan.body.1.body.7.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.1.body.7.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.1.body.7.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.1.body.7.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.1.body.8.body.0.bias\n",
      "  pre_trained_rcan.body.1.body.8.body.0.weight\n",
      "  pre_trained_rcan.body.1.body.8.body.2.bias\n",
      "  pre_trained_rcan.body.1.body.8.body.2.weight\n",
      "  pre_trained_rcan.body.1.body.8.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.1.body.8.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.1.body.8.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.1.body.8.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.1.body.9.body.0.bias\n",
      "  pre_trained_rcan.body.1.body.9.body.0.weight\n",
      "  pre_trained_rcan.body.1.body.9.body.2.bias\n",
      "  pre_trained_rcan.body.1.body.9.body.2.weight\n",
      "  pre_trained_rcan.body.1.body.9.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.1.body.9.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.1.body.9.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.1.body.9.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.2.body.0.body.0.bias\n",
      "  pre_trained_rcan.body.2.body.0.body.0.weight\n",
      "  pre_trained_rcan.body.2.body.0.body.2.bias\n",
      "  pre_trained_rcan.body.2.body.0.body.2.weight\n",
      "  pre_trained_rcan.body.2.body.0.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.2.body.0.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.2.body.0.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.2.body.0.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.2.body.1.body.0.bias\n",
      "  pre_trained_rcan.body.2.body.1.body.0.weight\n",
      "  pre_trained_rcan.body.2.body.1.body.2.bias\n",
      "  pre_trained_rcan.body.2.body.1.body.2.weight\n",
      "  pre_trained_rcan.body.2.body.1.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.2.body.1.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.2.body.1.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.2.body.1.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.2.body.10.bias\n",
      "  pre_trained_rcan.body.2.body.10.weight\n",
      "  pre_trained_rcan.body.2.body.2.body.0.bias\n",
      "  pre_trained_rcan.body.2.body.2.body.0.weight\n",
      "  pre_trained_rcan.body.2.body.2.body.2.bias\n",
      "  pre_trained_rcan.body.2.body.2.body.2.weight\n",
      "  pre_trained_rcan.body.2.body.2.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.2.body.2.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.2.body.2.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.2.body.2.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.2.body.3.body.0.bias\n",
      "  pre_trained_rcan.body.2.body.3.body.0.weight\n",
      "  pre_trained_rcan.body.2.body.3.body.2.bias\n",
      "  pre_trained_rcan.body.2.body.3.body.2.weight\n",
      "  pre_trained_rcan.body.2.body.3.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.2.body.3.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.2.body.3.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.2.body.3.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.2.body.4.body.0.bias\n",
      "  pre_trained_rcan.body.2.body.4.body.0.weight\n",
      "  pre_trained_rcan.body.2.body.4.body.2.bias\n",
      "  pre_trained_rcan.body.2.body.4.body.2.weight\n",
      "  pre_trained_rcan.body.2.body.4.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.2.body.4.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.2.body.4.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.2.body.4.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.2.body.5.body.0.bias\n",
      "  pre_trained_rcan.body.2.body.5.body.0.weight\n",
      "  pre_trained_rcan.body.2.body.5.body.2.bias\n",
      "  pre_trained_rcan.body.2.body.5.body.2.weight\n",
      "  pre_trained_rcan.body.2.body.5.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.2.body.5.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.2.body.5.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.2.body.5.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.2.body.6.body.0.bias\n",
      "  pre_trained_rcan.body.2.body.6.body.0.weight\n",
      "  pre_trained_rcan.body.2.body.6.body.2.bias\n",
      "  pre_trained_rcan.body.2.body.6.body.2.weight\n",
      "  pre_trained_rcan.body.2.body.6.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.2.body.6.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.2.body.6.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.2.body.6.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.2.body.7.body.0.bias\n",
      "  pre_trained_rcan.body.2.body.7.body.0.weight\n",
      "  pre_trained_rcan.body.2.body.7.body.2.bias\n",
      "  pre_trained_rcan.body.2.body.7.body.2.weight\n",
      "  pre_trained_rcan.body.2.body.7.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.2.body.7.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.2.body.7.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.2.body.7.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.2.body.8.body.0.bias\n",
      "  pre_trained_rcan.body.2.body.8.body.0.weight\n",
      "  pre_trained_rcan.body.2.body.8.body.2.bias\n",
      "  pre_trained_rcan.body.2.body.8.body.2.weight\n",
      "  pre_trained_rcan.body.2.body.8.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.2.body.8.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.2.body.8.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.2.body.8.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.2.body.9.body.0.bias\n",
      "  pre_trained_rcan.body.2.body.9.body.0.weight\n",
      "  pre_trained_rcan.body.2.body.9.body.2.bias\n",
      "  pre_trained_rcan.body.2.body.9.body.2.weight\n",
      "  pre_trained_rcan.body.2.body.9.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.2.body.9.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.2.body.9.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.2.body.9.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.3.body.0.body.0.bias\n",
      "  pre_trained_rcan.body.3.body.0.body.0.weight\n",
      "  pre_trained_rcan.body.3.body.0.body.2.bias\n",
      "  pre_trained_rcan.body.3.body.0.body.2.weight\n",
      "  pre_trained_rcan.body.3.body.0.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.3.body.0.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.3.body.0.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.3.body.0.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.3.body.1.body.0.bias\n",
      "  pre_trained_rcan.body.3.body.1.body.0.weight\n",
      "  pre_trained_rcan.body.3.body.1.body.2.bias\n",
      "  pre_trained_rcan.body.3.body.1.body.2.weight\n",
      "  pre_trained_rcan.body.3.body.1.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.3.body.1.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.3.body.1.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.3.body.1.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.3.body.10.bias\n",
      "  pre_trained_rcan.body.3.body.10.weight\n",
      "  pre_trained_rcan.body.3.body.2.body.0.bias\n",
      "  pre_trained_rcan.body.3.body.2.body.0.weight\n",
      "  pre_trained_rcan.body.3.body.2.body.2.bias\n",
      "  pre_trained_rcan.body.3.body.2.body.2.weight\n",
      "  pre_trained_rcan.body.3.body.2.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.3.body.2.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.3.body.2.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.3.body.2.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.3.body.3.body.0.bias\n",
      "  pre_trained_rcan.body.3.body.3.body.0.weight\n",
      "  pre_trained_rcan.body.3.body.3.body.2.bias\n",
      "  pre_trained_rcan.body.3.body.3.body.2.weight\n",
      "  pre_trained_rcan.body.3.body.3.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.3.body.3.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.3.body.3.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.3.body.3.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.3.body.4.body.0.bias\n",
      "  pre_trained_rcan.body.3.body.4.body.0.weight\n",
      "  pre_trained_rcan.body.3.body.4.body.2.bias\n",
      "  pre_trained_rcan.body.3.body.4.body.2.weight\n",
      "  pre_trained_rcan.body.3.body.4.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.3.body.4.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.3.body.4.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.3.body.4.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.3.body.5.body.0.bias\n",
      "  pre_trained_rcan.body.3.body.5.body.0.weight\n",
      "  pre_trained_rcan.body.3.body.5.body.2.bias\n",
      "  pre_trained_rcan.body.3.body.5.body.2.weight\n",
      "  pre_trained_rcan.body.3.body.5.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.3.body.5.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.3.body.5.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.3.body.5.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.3.body.6.body.0.bias\n",
      "  pre_trained_rcan.body.3.body.6.body.0.weight\n",
      "  pre_trained_rcan.body.3.body.6.body.2.bias\n",
      "  pre_trained_rcan.body.3.body.6.body.2.weight\n",
      "  pre_trained_rcan.body.3.body.6.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.3.body.6.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.3.body.6.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.3.body.6.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.3.body.7.body.0.bias\n",
      "  pre_trained_rcan.body.3.body.7.body.0.weight\n",
      "  pre_trained_rcan.body.3.body.7.body.2.bias\n",
      "  pre_trained_rcan.body.3.body.7.body.2.weight\n",
      "  pre_trained_rcan.body.3.body.7.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.3.body.7.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.3.body.7.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.3.body.7.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.3.body.8.body.0.bias\n",
      "  pre_trained_rcan.body.3.body.8.body.0.weight\n",
      "  pre_trained_rcan.body.3.body.8.body.2.bias\n",
      "  pre_trained_rcan.body.3.body.8.body.2.weight\n",
      "  pre_trained_rcan.body.3.body.8.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.3.body.8.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.3.body.8.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.3.body.8.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.3.body.9.body.0.bias\n",
      "  pre_trained_rcan.body.3.body.9.body.0.weight\n",
      "  pre_trained_rcan.body.3.body.9.body.2.bias\n",
      "  pre_trained_rcan.body.3.body.9.body.2.weight\n",
      "  pre_trained_rcan.body.3.body.9.body.3.conv_du.0.bias\n",
      "  pre_trained_rcan.body.3.body.9.body.3.conv_du.0.weight\n",
      "  pre_trained_rcan.body.3.body.9.body.3.conv_du.2.bias\n",
      "  pre_trained_rcan.body.3.body.9.body.3.conv_du.2.weight\n",
      "  pre_trained_rcan.body.4.bias\n",
      "  pre_trained_rcan.body.4.weight\n",
      "  pre_trained_rcan.head.0.bias\n",
      "  pre_trained_rcan.head.0.weight\n",
      "  pre_trained_rcan.tail.0.bias\n",
      "  pre_trained_rcan.tail.0.weight\n",
      "  tail.1.bias\n",
      "  tail.1.weight\n",
      "已加载的神经网络 相比 当前神经网络 多出的网络参数层:\n"
     ]
    }
   ],
   "source": [
    "from copy import deepcopy\n",
    "\n",
    "def _print_different_keys_loading(crt_net, load_net, strict=True):\n",
    "    crt_net = crt_net.state_dict()\n",
    "    crt_net_keys = set(crt_net.keys())\n",
    "    load_net_keys = set(load_net.keys())\n",
    "\n",
    "    if crt_net_keys != load_net_keys:\n",
    "        print('当前定义的神经网络 相比 已加载的神经网络 多出的网络层:')\n",
    "        for v in sorted(list(crt_net_keys - load_net_keys)):\n",
    "            print(f'  {v}')\n",
    "        print('已加载的神经网络 相比 当前定义的神经网络 多出的网络参数层:')\n",
    "        for v in sorted(list(load_net_keys - crt_net_keys)):\n",
    "            print(f'  {v}')\n",
    "\n",
    "    # check the size for the same keys\n",
    "    if not strict:\n",
    "        common_keys = crt_net_keys & load_net_keys\n",
    "        for k in common_keys:\n",
    "            if crt_net[k].size() != load_net[k].size():\n",
    "                print(f'网络参数层[{k}]形状不同，以忽略: 当前网络参数层形状: '\n",
    "                               f'{crt_net[k].shape}; 已加载网络参数层形状: {load_net[k].shape}')\n",
    "                load_net[k + '.ignore'] = load_net.pop(k)\n",
    "                \n",
    "def load_network_use_prefix(net, \n",
    "                            load_path, \n",
    "                            prefix='feature_extract.', \n",
    "                            strict=True, \n",
    "                            param_key='params'):\n",
    "    load_net = torch.load(load_path, map_location=lambda storage, loc: storage)\n",
    "    if param_key is not None:\n",
    "        if param_key not in load_net and 'params' in load_net:\n",
    "            param_key = 'params'\n",
    "        load_net = load_net[param_key]\n",
    "    # 使用字典推导式为每个键添加前缀\n",
    "    load_net = {prefix + key: value for key, value in load_net.items()}\n",
    "    print(f'从 {load_path} 加载模型 {net.__class__.__name__} 网络参数层为: [{param_key}].')\n",
    "    # remove unnecessary 'module.'\n",
    "    for k, v in deepcopy(load_net).items():\n",
    "        if k.startswith('module.'):\n",
    "            load_net[k[7:]] = v\n",
    "            load_net.pop(k)\n",
    "    _print_different_keys_loading(net, load_net, strict)\n",
    "    net.load_state_dict(load_net, strict=strict)\n",
    "\n",
    "load_network_use_prefix(itb_net, pretrained_new_hqp_path, strict=False)\n",
    "\n",
    "\n",
    "# prefix = 'feature_extract.'\n",
    "# # 使用字典推导式为每个键添加前缀\n",
    "# load_net = {prefix + key: value for key, value in load_net.items()}"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-03-08T10:19:23.273690Z",
     "start_time": "2024-03-08T10:19:23.181071Z"
    }
   },
   "id": "d85cde23a532edef"
  },
  {
   "cell_type": "code",
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false
   },
   "id": "a66745cfbf637655"
  }
 ],
 "metadata": {
  "kernelspec": {
   "name": "python3",
   "language": "python",
   "display_name": "Python 3 (ipykernel)"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
